import os
from datetime import timedelta
import django
from celery import Celery


os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'cwapi.settings')
django.setup()

# 创建celery实例对象
app = Celery('cwapi')
# 通过app对象加载配置
app.config_from_object("mycelery.config")
# 注册任务， 自动搜索并加载任务
# 参数必须必须是一个列表，里面的每一个任务都是任务的路径名称
app.autodiscover_tasks(['mycelery.schedule_tasks'])

app.conf.update(
    CELERYBEAT_SCHEDULE={
        'task_c_idcard': {
            'task': 'mycelery.schedule_tasks.c_idcard',
            'schedule': timedelta(seconds=1),
            'args': ()
        },
        'task_cancleorders': {
            'task': 'mycelery.schedule_tasks.cancleorders',
            'schedule': timedelta(seconds=30),
            'args': ()
        },
        # 'sum-task': {
        #     # 要执行的方法所在的路径
        #     'task': 'mycelery.schedule_tasks.my_crontab',
        #     # 每隔5秒启动一次
        #     'schedule': timedelta(seconds=5),
        #     # 参数
        #     'args': (5, 6)
        # },
        #
        # 'sum-task1': {
        #     'task': 'mycelery.schedule_tasks.my_print',
        #     'schedule': timedelta(seconds=3),
        #     'args': ()
        # },
    }
)

# 启动celery
# 启动定时任务: celery -A mycelery beat -l info
# 启动异步任务: celery -A mycelery worker -l info -P eventlet